<!DOCTYPE html>
<html lang="en" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"
      xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <link rel="stylesheet" href="/layui/css/layui.css">
  <link rel="stylesheet" href="/css/custom.form.css">
</head>
<body>

<input hidden id="stationId">
<input hidden id="time">

<div class="table_div1">
  <div id="searchParam"  >
    <div class="layui-form-item">
      <div class="layui-input-inline layui-form">
      	<select id="taxorgcodeInput">
		</select>
      </div>
      <div class="layui-input-inline">
        <input type="text" id="stationNameInput" class="layui-input"  autocomplete="off" placeholder="请输入加油站名称">
      </div>
	  <div class="layui-input-inline">
        <input type="text" id="createTimeInput" class="layui-input"  autocomplete="off" placeholder="请输入时间范围">
      </div>
      <div class="layui-input-inline ">
        <button class="layui-btn" onclick="search1()"  id="search">查询</button>
        <button class="layui-btn" id="export1">导出</button>
      </div>
    </div>

  </div>
  <table class="layui-table" id="showTable1" lay-filter="showTable1" ></table>
</div>





</body>
</html>
<script src="/layui/layui.all.js"></script>
<script src="/js/core.util.js"></script>
<script>
  //获取token
  var token = CoreUtil.getData("access_token");
  //地址栏转义token中的#号
  var tokenQuery = token.replace("#", "%23");
  
  var tableIns1;
  var tableIns2;
  var tableIns3;
  
  var table = layui.table;
  var form = layui.form;
  var layer = layui.layer;
  var $ = jQuery = layui.jquery;
  var laydate = layui.laydate;
  
  var firstDayOfMonth = firstDayOfMonth();
  var lastDayOfMonth = lastDayOfMonth();
  console.log(firstDayOfMonth);
  console.log(lastDayOfMonth);
  console.log(firstDayOfMonth + " 至 " + lastDayOfMonth);
  
  $("#createTimeInput").val(firstDayOfMonth + " 至 " + lastDayOfMonth);
  
  $(function() {
	  // 加载机关
      CoreUtil.sendGet("/sys/deptlist",null , function(res) {
			if (res.code == '0') {
				var value = res.data[0];
				var opt = "<option value = ''>请选择所属机关</option>";
				for (var i in value) {
					opt += '<option value = "' + value[i].id + '">'
							+ value[i].name + '</option>';
				}
				
				$("#taxorgcodeInput").html(opt);
				form.render('select'); //需要渲染一下
			} else {
				layer.msg(res.msg);
				return false;
			}
		}, false, false);
		
  });
  
  
  
  layui.use(['table', 'layer', 'laydate'], function () {
	laydate.render({
		elem : '#createTimeInput',
		type : 'date',
		range : '至',
		done : function(value, date, endDate) {
			if (value != null && value != undefined
					&& value != "") {
				startTime = value.split("至")[0];
				endTime = value.split("至")[1];
				
			} else {
				startTime = null;
				endTime = null;
			}

		}
	});
	  
    //加载table
    tableIns1 = table.render({
      elem: '#showTable1'
      , contentType: 'application/json'
      , headers: {"authorization": token}
      , page: true //开启分页
      , url: '/gas/stationforecast/forewarningStreamList' //数据接口
      , where: {createTimeStart : $("#createTimeInput").val().split('至')[0],
			createTimeEnd : $("#createTimeInput").val().split('至')[1]} // 初始化时的过滤条件
			
      , method: 'POST'
      , parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
        return {
          "code": res.code, //解析接口状态
          "msg": res.msg, //解析提示文本
          "count": CoreUtil.isEmpty(res.data) ? 0 : res.data.total, //解析数据长度
          "data": CoreUtil.isEmpty(res.data) ? null : res.data.records //解析数据列表
        }
      }
      , cols: [
        [
          {type: 'checkbox', fixed: 'left'},
          {field: 'id', title: '主键', sort: true, hide: true},
          {field: 'time', title: '日期', width: 120,sort: true},
          
          {field: 'stationinfoName', title: '加油站名称', width: 500,sort: true},
          {field: 'camId', title: '摄像头ID', width: 375,sort: true},
          
          /* {field: 'gatherValue', title: '采集金额', width: 120,sort: true},
          {field: 'forecastValue', title: '预估金额', width: 120,sort: true}, */
          
          {field: 'offlineTime', title: '摄像头累计离线时间(分钟)', width: 210,sort: true,templet: function(d) {
				if(CoreUtil.isEmpty(d.offlineTime)){
					return "0";
				}else{
					return (d.offlineTime / 60).toFixed(2);
				}
           }},
          
          {field: 'taxorgname', title: '所属机关', width: 320,sort: true}, 
		  
          /* {width: 120, toolbar: "#tool1", title: '操作', fixed: 'right'} */
        ]
      ]
      , toolbar: '#toolbar1'
    });
  	
    // 列操作
    table.on('tool(showTable1)',function (obj) {
      var data = obj.data;
      switch (obj.event) {
        case 'del':
          var ids=[];
          ids.push(data.id);
          tipDialog(ids);
          break;
        case 'view':
          $(".table_div1").hide();
          $(".table_div2").show();
          $(".table_div3").hide();
          
          $("#stationId").val(data.stationinfoId);
          search2(data.id);
          break;
      }
    });
	
    
    table.on('tool(showTable2)',function (obj) {
        var data = obj.data;
        switch (obj.event) {
          case 'del':
            var ids=[];
            ids.push(data.id);
            tipDialog(ids);
            break;
          case 'view':
        	$(".table_div1").hide();
            $(".table_div2").hide();
            $(".table_div3").show();
            
            $("#stationId").val(data.stationinfoId);
            $("#time").val(data.time);
            
            search3(data.stationinfoId,data.time);
            
            break;
        }
     });
    
    //导出
    $('#export1').on('click', function () {
      var createTimeInput = $("#createTimeInput").val();
 	  var arr = createTimeInput.split('至');
    	//原先分页limit
      var exportParams = {
          limit: -1,
          stationinfoName: $("#stationNameInput").val(),
    	  taxorgcode : $("#taxorgcodeInput").val(),
          createTimeStart : arr[0],
		  createTimeEnd : arr[1],
        
      };
    	
      CoreUtil.sendPost("/gas/stationforecast/forewarningStreamList", exportParams, function (res) {
        //初始化渲染数据
        if (res.data != null && res.data.records != null) {
          table.exportFile(tableIns1.config.id, res.data.records, 'xls');
        }
      });
    });
    
    $('#back2').on('click', function () {
    	 $(".table_div1").show();
         $(".table_div2").hide();
         $(".table_div3").hide();
         
         return false;
         
    });
	
    $('#back3').on('click', function () {
    	$(".table_div1").hide();
        $(".table_div2").show();
        $(".table_div3").hide();
        
        return false;
    });

  });
	
  
  
  
  //执行查询
  function search1() {
    
	 var createTimeInput = $("#createTimeInput").val();
	 var arr = createTimeInput.split('至');
	  
	  //这里以搜索为例
    tableIns1.reload({
      where: { //设定异步数据接口的额外参数，任意设
    	  stationinfoName: $("#stationNameInput").val(),
    	  taxorgcode : $("#taxorgcodeInput").val(),
    	  createTimeStart : arr[0],
		  createTimeEnd : arr[1],
      }
      , page: {
        curr: 1 //重新从第 1 页开始
      }
    });
  };
  
  //执行查询
  function search2(stationinfoId) {
    
    var createTimeInput = $("#createTimeInput").val();
    var arr = createTimeInput.split('至');
	  
	  //这里以搜索为例
    tableIns2.reload({
      where: { //设定异步数据接口的额外参数，任意设
    	  // stationinfoName: $("#stationNameInput").val(),
    	  // taxorgcode : $("#taxorgcodeInput").val(),
    	  stationinfoId : stationinfoId,
    	  createTimeStart : arr[0],
		  createTimeEnd : arr[1],
      }
      , page: {
        curr: 1 //重新从第 1 页开始
      }
    });
  };
  
  function search3(id,time){
	  var createTimeInput = $("#createTimeInput").val();
	  var arr = createTimeInput.split('至');
	  
	  //这里以搜索为例
      tableIns3.reload({
	      where: { //设定异步数据接口的额外参数，任意设
	    	  // name: $("#nameInput").val(),
	    	  stationinfoId:id,
	    	  time:time,
	    	  createTimeStart : arr[0],
			  createTimeEnd : arr[1],
	      }
	      , page: {
	        curr: 1 //重新从第 1 页开始
	      }
		});
	    
  };
  
  function showImage(obj) {
	  var src = $(obj).attr('data-src'); // 获取图片地址
	  layer.open({
	    type: 1,
	    title: false,
	    closeBtn: 0,
	    area: '500px',
	    skin: 'layui-layer-nobg', // 没有背景色的弹层
	    shadeClose: true,
	    content: '<img src="' + src + '" alt="图片" style="margin: auto; max-width: 100%; max-height: 100%">'
	  });
   };
 
   
 	function firstDayOfMonth() {
  		const currentDate = new Date();
  		const year = currentDate.getFullYear();//获取当前年
  		const month = String(currentDate.getMonth() + 1).padStart(2, "0");//获取当前月
  		const firstDay = "01";//日
  		return `${year}-${month}-${firstDay}`;
    };
	
    function lastDayOfMonth() {
    	// 获取当前日期
    	const currentDate = new Date();
    	// 获取当前年份
    	let year = currentDate.getFullYear();
    	// 获取下个月的月份，使用 padStart 在月份小于 10 时在前面补零
    	let month = String(currentDate.getMonth() + 2).padStart(2, "0");
    	// 如果月份为 '13'，说明当前是12月，需要更新年份并将月份设置为 '01'
    	if (month === '13') {
    	    year = year + 1;
    	    month = '01';
    	}
    	 
   	  	// 设置每个月的第一天为 '01'
   	  	let firstDay = "01";
   	  	// 构建下个月的第一天的日期字符串，格式为 'YYYY-MM-DD'
   	  	const firstDayOfNextMonth = `${year}-${month}-${firstDay}`;
   	  	// 计算当前月的最后一天，通过减去一天的毫秒数来得到
   	  	const lastDayOfMonth = new Date(new Date(firstDayOfNextMonth).getTime() - 86400000);
   	  	// 将最后一天的日期转换为 ISO 格式，并提取日期部分
   	  	return lastDayOfMonth.toISOString().split("T")[0];
	}
   
</script>